TFnS Web Design is a boutique web design group based in South Bend, Indiana. The owner and designer of the group, Brandon Morrison, has been developing with Drupal off and on for about 4 years. His first project with Drupal was a Drupal 4.5 social site for his student newspaper at Middle Tennessee State University that never quite got off the ground.
TFnS works primarily with clients to develop out web sites that are easy to use and are as accessible as possible. One of TFnS's specialties is integrating Flash components into websites in a responsible, accessible manner.
Design
This is the second iteration of the TFnS site. The original site was essentially a fairly straightforward skin of a standard Drupal installation.
The goal of the redesign was to give the site a more professional, less blog-like look, especially on the home landing page. The main issue with having a blog-like look for the home page was that I'm not a consistent blogger, and having a site that looks like nothings changed in weeks/months is off-putting to a potential client coming to the site for the first time. Plus, I was tired of new clients asking to see my work site, rather than my blog *sigh*. The site needed to showcase the strengths of TFnS as a developer, not my weaknesses at consistent writing.
Front Page
The highlight of the front page is the custom Flash rotator that showcases prominent articles/pages on the site. All of the articles chosen are handled through the Nodequeue module, while the images are just file attachments handled by the Upload Module. I wrote a custom module to handle the interaction between the Service, Nodequeue and Upload modules.
The player degrades nicely if Flash or javascript isn't installed installed. Currently, it shows the first image in the player with a link to that article's content. However, I'm planning on updating it to a jQuery-powered slideshow that mimics the functionality/aesthetics of the Flash-powered rotator.
Contributed Modules
Flash/Drupal Integration
- Services
- AMFPHP
SEO Purposes
- XML Sitemap
- Pingback
- Pathauto
- Meta Tags
Other
- Gravatar Integration
- GeSHi Filter
- Nodequeue
- Del.icio.us
- Mollum
Custom Modules
TFnS_rotator
This module handles all the heavy-lifting interactions between the Services, Nodequeue and Upload modules, as well as handling the logic for the graceful degradation of the Flash rotator. The most difficult part of writing this module was getting the SQL correct for pulling a queue's information out of the database directly. I had trouble finding decent documentation on the database schema for Nodequeue, but lucked out when I found the exact query I was looking for in the nodequeue_nodes function.
I decided to write up this custom module (rather than implementing a View) mainly to reduce the number of queries and data going to and from the server. As far as I can tell, I would probably need at least 2 queries from the Flash file to get the queue info itself, along with the node information, whereas my custom method only makes one call to the server. That doesn't mean that it can't be done simpler with Views, it just means that it was easier for me to code it up myself.
TFnS_contact
This module modifies the contact page to include some extra fields on the main contact form that I felt would better filter the types of contacts sent from the form. Rather than just a generic textbox, the form asks users details about the type of project they're asking about when contacting TFnS. By asking general questions such as the timeline and budget of a inquiry, I can take care of some of the initial questions I would ask anyway of any project.
I think that having the ability to add items to the contact form through the UI would be a great addition in Drupal 7, especially if it can be integrated into the fancy new Form Builder module that Lullabot built. Maybe I'll squeeze some time in the next few weeks...
Final Thoughts
Overall, I'd consider the redesign a success. The site looks far more professional than it previously did, which is always a good thing. Having the Drupal base for the site is going to help me with my long term goals for the site, including having an updated portfolio section and a customer login/project management section that I've been dreaming up over the past month or so.